<?php
    class ValoracionEvalClinicaPacientesController extends AppController {
        var $name = 'ValoracionEvalClinicaPacientes';
        var $uses = array('ValoracionEvalClinicaPaciente');
        var $helpers = array('Javascript');
        var $components = array('AdminParameters');


        function  getList(){
            $this->render("list", "ajax");
        }

        function getListData($page=1, $limit=10, $orderColumn='fecha', $ascDesc='desc'){

            $result = array("data" => array(), "pageInfo" => array(
		    "total" => 0,
		    "page"  => 1,
		    "limit" => 1
		));



            $this->set("result", $result);

            $this->render("/elements/ajax_return", "ajax");

        }

        function getDetailData($id){
            $data = $this->ValoracionEvalClinicaPaciente->find("all", array("conditions" => array("ValoracionEvalClinicaPaciente.id" => $id)));

            $this->loadModel("EvalClinica");
            $idEvalClinicas = $this->EvalClinica->find("list", array("fields" => array("EvalClinica.id", "EvalClinica.nombre")));

            $evalClinicas = array();
            $i=0;
            foreach($data as $ec){
                $evalClinicas[$i]["ValoracionEvalClinicaPaciente"] = $ec["ValoracionEvalClinicaPaciente"];
                foreach($idEvalClinicas as $idEc => $ne){
                    $evalClinicas[$i]["ValoracionEvalClinicaPaciente"]["evalClinica_".$idEc] = "0";
                }
                foreach($ec["ValoracionEvalClinica"] as $vec){
                    $evalClinicas[$i]["ValoracionEvalClinicaPaciente"]["evalClinica_".$vec["eval_clinica_id"]] = "1";
                }
                $i++;
            }

            $this->set("result", array("data" => $evalClinicas));

            $this->render("/elements/ajax_return", "ajax");
        }

        function save(){

            $params = $this->params["form"];

            if($params["op"] == "add"){
                $this->__add($params);
            }
            if($params["op"] == "edit"){
                $this->__edit($params);
            }
            if($params["op"] == "del"){
                $this->__del($params);
            }

            $this->set("result", array("result" => true));


            $this->render("/elements/ajax_return", "ajax");
        }

        function __edit($params){
            $ec = $this->ValoracionEvalClinicaPaciente->ValoracionEvalClinica;

            $ec->deleteAll(array(
               "ValoracionEvalClinica.valoracion_eval_clinica_paciente_id" => $params["id"]
            ));

            foreach($params as $key => $value){
                if(substr($key, 0, 12) == "evalClinica_"){
                    $id = substr($key, 12, strlen($key));
                    if($params[$key] == "1"){
                        $arrSave = array(
                          "valoracion_eval_clinica_paciente_id" => $params["id"],
                          "eval_clinica_id" => $id
                        );
                        $ec->create($arrSave);
                        $ec->save();
                    }
                }
            }

            $this->ValoracionEvalClinicaPaciente->read(null, $params["id"]);

            $arrSave = array(
              "id" => $params["id"],
              "paciente_id" => $params["paciente_id"],
              "fecha" => $params["fecha"],
              "patologias" => $params["patologias"],
              "objetivos" => $params["objetivos"],
              "via_alimentacion" => $params["via_alimentacion"],
              "prescripcion" => $params["prescripcion"],
              "motivo_consulta" => $params["motivo_consulta"],
              "farmacos" => $params["farmacos"],
              "cirugias" => $params["cirugias"],
              "laboratorio" => $params["laboratorio"],
              "antecedentes" => $params["antecedentes"],
              "historial" => $params["historial"]
            );

            $this->ValoracionEvalClinicaPaciente->set($arrSave);
            $this->ValoracionEvalClinicaPaciente->save();

            return true;
        }

        function __add($params){
            $ec = $this->ValoracionEvalClinicaPaciente->ValoracionEvalClinica;

            $arrSave = array(
              "paciente_id" => $params["paciente_id"],
              "fecha" => $params["fecha"],
              "patologias" => $params["patologias"],
              "objetivos" => $params["objetivos"],
              "via_alimentacion" => $params["via_alimentacion"],
              "prescripcion" => $params["prescripcion"],
              "motivo_consulta" => $params["motivo_consulta"],
              "farmacos" => $params["farmacos"],
              "cirugias" => $params["cirugias"],
              "laboratorio" => $params["laboratorio"],
              "antecedentes" => $params["antecedentes"],
              "historial" => $params["historial"]
            );

            $this->ValoracionEvalClinicaPaciente->create($arrSave);
            $this->ValoracionEvalClinicaPaciente->save();

            $idECP = $this->ValoracionEvalClinicaPaciente->getInsertID();

            foreach($params as $key => $value){
                if(substr($key, 0, 12) == "evalClinica_"){
                    $id = substr($key, 12, strlen($key));
                    if($params[$key] == "1"){
                        $arrSave = array(
                          "valoracion_eval_clinica_paciente_id" => $idECP,
                          "eval_clinica_id" => $id
                        );

                        $ec->create($arrSave);
                        $ec->save();
                    }
                }
            }

            return true;

        }

        function __del($params){
            $ec = $this->ValoracionEvalClinicaPaciente->ValoracionEvalClinica;

            $ec->deleteAll(array(
               "ValoracionEvalClinica.valoracion_eval_clinica_paciente_id" => $params["id"]
            ));

            $this->ValoracionEvalClinicaPaciente->delete($params["id"]);
        }

        function getEvaluacionesPaciente($idPaciente){
            $data = $this->ValoracionEvalClinicaPaciente->find(
                    "list",
                    array(
                        "fields" => array("ValoracionEvalClinicaPaciente.id", "ValoracionEvalClinicaPaciente.fecha"),
                        "conditions" => array("ValoracionEvalClinicaPaciente.paciente_id" => $idPaciente),
                        "order" => array("ValoracionEvalClinicaPaciente.fecha DESC")
                        )
                    );

            $this->set("result", array("data" => $data));

            $this->render("/elements/ajax_return", "ajax");
        }

    }
?>